O3333(SPIRAL ROUGH ID POCKET)
(INCREMENTAL AND ABSOLUTE MACRO)
(MUST HAVE START HOLE IN CENTER)
(UNPROVEN)

(FORMAT G65/G66 QSTDRZEFV)
(Q = #17 - STEPOVER IN Z/ DOC)
(S = #19 - STEPOVER IN X/ PERCENTAGE)
(T = #20 - TOOL DIAMETER)
(D = #7 - PART INTERNAL DIAMETER)
(R = #18 - R PLANE)
(Z = #26 - Z START/ TOP OF STOCK)
(E = #8 - END OF POCKET IN Z)
(F = #9 - FEEDRATE)
(V = #22 - 1 FOR VARIABLE FEEDRATE, 0 = FIXED)
(*********************************)

(CALCULATE DOC IN Z)
#100=ABS[#26]-ABS[#8]
#100=ABS[#100]
IF[[#26*#8]GE0]GOTO1
#100=ABS[#26]+ABS[#8]
N1#101=ROUND[#100/#17]
#102=#100/#101
IF[#102GT[#100/2.]]THEN#102=#100
(CALCULATE DOC IN X)
#103=[#19*.01]*#20
#104=[#7/2.]-[#20/2.]
#105=ROUND[#104/#103]
#106=#104/#105
IF[#106GT[#104/2.]]THEN#106=#104
#107=#5001
#108=#5002
G0G90X#107Y#108
Z[#26+.1]
G1Z#26F#9
#109=#5003-#102
#116=3.14*[#106*2.]
#119=#9
#126=#106
WHILE[#101GT0]DO1
IF[#101EQ0]GOTO10
#101=#101-1.
G90G1Z#109F#119
G91G41X#106
G03I-[#106]
#105=#105-1.
#106=#106+#126
IF[#105EQ0]GOTO20
WHILE[#105GT0]DO2
IF[#105EQ0]GOTO20
#129=#119*[[3.14*[#106*2.]]/#116]
IF[#22EQ0]THEN#129=#119
G03X-[#106*2.]I-[#106]F#129
#105=#105-1.
#106=#106+#126
IF[#105EQ0]GOTO20
#129=#119*[[3.14*[#106*2.]]/#116]
IF[#22EQ0]THEN#129=#119
G03X[#106*2.]I#106F#129
#105=#105-1.
#106=#106+#126
END2
N20
IF[#5001LT#107]GOTO30
G03I-[#106]
GOTO40
N30
G03I#106
N40
G90G1G40X#107Y#108F100.
#109=#109-#102
END1
N10
G90G0Z#18
M99